package com.java_foundation.singleton;

/**
 * @program: java_foundation
 * @description: 懒汉式：延迟创建这个实例对象，创建一次就不再创建，有线程安全问题
 * 1）构造器私有化
 * 2）用一个静态变量保存这个唯一的实例
 * 3）提供一个静态方法去获取这个实例对象
 * @author: xiongbangwen <Email>xiongbangwen@163.com</Email>
 * @create: 2020-05-30 21:25
 **/
public class Singleton_5 {
    private static Singleton_5 instance;
    private Singleton_5(){

    }
    public static Singleton_5 getInstance(){
        if(instance == null) {
            synchronized (Singleton_5.class) {
                if (instance == null) {
                    try {
                        Thread.sleep(100);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                    instance = new Singleton_5();
                }
            }
        }
        return instance;
    }
}
